home *** CD-ROM | disk | FTP | other *** search
/ PC World 2005 April / PCWorld_2005-04_cd.bin / software / temacd / godfather / TGF_069.exe / $INSTDIR / Scripts / 03 Multiple Masks.sct < prev    next >
Encoding:
Text File  |  2005-02-06  |  2.1 KB  |  58 lines

  1. program test;
  2.  
  3. var
  4.   sTmp: string;
  5.   slMask: TStringList;
  6.  
  7. begin
  8.  
  9.   if not tg_Init then exit;
  10.  
  11.   slMask := TStringList.Create;
  12.   try
  13.  
  14.     repeat
  15.  
  16.       sTmp := tg_GetField( 'File' );
  17.       if sys_ApplyMask( '% - % - % - %', sTmp, slMask ) then begin              
  18.          if StrToIntDef( slMask.Strings[ 0 ], 0 ) > 0 then begin //must be track      
  19.             tg_SetField( 'Track' , Trim( slMask.Strings[ 0 ] ) );
  20.             tg_SetField( 'Artist', Trim( slMask.Strings[ 1 ] ) );
  21.             tg_SetField( 'Album' , Trim( slMask.Strings[ 2 ] ) );
  22.             tg_SetField( 'Title' , Trim( slMask.Strings[ 3 ] ) );
  23.          end else begin
  24.             tg_SetField( 'Artist', Trim( slMask.Strings[ 0 ] ) );
  25.             tg_SetField( 'Album' , Trim( slMask.Strings[ 1 ] ) );
  26.             tg_SetField( 'Track' , Trim( slMask.Strings[ 2 ] ) );
  27.             tg_SetField( 'Title' , Trim( slMask.Strings[ 3 ] ) );
  28.          end;   
  29.       end else if sys_ApplyMask( '% - % - %', sTmp, slMask ) then begin
  30.          if StrToIntDef( slMask.Strings[ 1 ], 0 ) > 0 then begin //must be track
  31.             tg_SetField( 'Track' , Trim( slMask.Strings[ 1 ] ) );
  32.             tg_SetField( 'Artist', Trim( slMask.Strings[ 0 ] ) );
  33.          end else begin
  34.             tg_SetField( 'Track' , Trim( slMask.Strings[ 0 ] ) );
  35.             tg_SetField( 'Artist', Trim( slMask.Strings[ 1 ] ) );
  36.          end;
  37.          tg_SetField( 'Title' , Trim( slMask.Strings[ 2 ] ) );
  38.       end else if sys_ApplyMask( '%.%', sTmp, slMask ) then begin
  39.          tg_SetField( 'Track' , Trim( slMask.Strings[ 0 ] ) );
  40.          tg_SetField( 'Title' , Trim( slMask.Strings[ 1 ] ) );
  41.       end else if sys_ApplyMask( '%-%', sTmp, slMask ) then begin
  42.          if StrToIntDef( slMask.Strings[ 0 ], 0 ) > 0 then begin //must be track
  43.             tg_SetField( 'Track' , Trim( slMask.Strings[ 0 ] ) );
  44.          end else begin
  45.             tg_SetField( 'Artist' , Trim( slMask.Strings[ 0 ] ) );
  46.          end;
  47.          tg_SetField( 'Title' , Trim( slMask.Strings[ 1 ] ) );
  48.       end;
  49.  
  50.     until not tg_Skip;
  51.  
  52.   finally
  53.     slMask.Free;
  54.   end;
  55.  
  56. end.
  57.  
  58.